רעיונות?
נ.ב. בהנחה שלכל קוד יש רישיון אחד. (כך שגם אם מישהו הפיץ את הקוד - זה לא יעזור לאף אחד.)
חשבתי אולי לבדוק את הדומיין המבקש... נראה לכם מעשי ומאובטח?
5 תשובות
ממ לא דע אם זה פרקטי אבל חשבתי עלזה עכשיו
טבלה בשרת כלשהו(אפילו הרשמי של המערכת):
מכיל שדות id , key, active
ID זה מספר שעולה כל פעם, key זה הרישיון, active זה אם הוא פועל
את השדות מכניסים למאגר מוצפן כלשהוא, ובכול שימוש ראשוני - בודקים האם הרישיון קיים והאם הוא הופעל .
- "שימוש ראשוני" - איך אתה מזהה את זה? זו ההתקנה? אם כן (וגם אם לא), מישהו יכול פשוט לעשות את ההתקנה ידנית ולעבור את זה.
- עדיין מישהו יכול פשוט לרכוש את זה ולפרסם את הסיסמה (כמו שעושים כמעט לכל מערכת קיימת).
- מה הכוונה מופעל?
הזכרת לי תקופת אחת :)
ברמה תאורטית, קודם תצא מנוקדת הנחה כזאת: כל מערכת שנכתבת בכל שפת סקריפט, היא תקרא לזה אפילו "visual code".
אתה יכול לשים כל הגנה בקוד, אבל ברגע שבנאדם קונה ממך את המערכת, הוא יכול להתחיל להוריד את כל הבדיקות שלך ובעצם ליצור מערכת nulled של המערכת שלך והלפיץ ברבים.
מערכות כמו vbulletin לדוגמא הם מערכות visual code, וזה למה גם קיימים המון גירסאות פרוצות של הפורום, כי זה עבודה של חצי שעה והורדת את כל ה"אבטחה הזאת".
אחרי שהבנת את הנקודה הזאת, מפה יש לך שתי אפשרויות: להצפין, או לא.
הכל תלוי בקהל היעד שלך. המקרה שאתה אומר, פורום או בלוג, רוב הסיכויים שלא יהיה מותקן על איחסונים כאלה ioncube או zend gurard ככה שאם תצפין את המערכת שלך המכירות יהיו הרבה יותר נמוכות.
מערכת אחרות, (שלמה אמרתי שהזכרת לי משהו), כמו פלטפורמות השקעות וכדומה שקהל היעד שלהם אחר לגמרי, עדיף במקרים האלה להצפין את המערכת.
קיימות סוכים שונים של הצפנות, רוב האיחוסנים שתומכים בזה יתמכו או בזנד גארד או בioncube שהם הכי פופולאריות.
למימוש של המפתח:
קודם סוג רישיון - פר דומיין, פר מה? אם אתה עושה רישיון פר דומיין, אז זה די פשוט - עושה טבלה שמכילה את הדומיין, את המפתח, את הסטטוס (בשימוש או לא), ותאריך (שאתה אחרי זה יכול לבדוק אם הרישיון פג תוקף - במידה ואתה רוצה להגביל לטווח זמן מסוים).
תקח את הפרמטרים האלה בחשבון: פר מה אתה מגביל, פר כמה, הגבלות זמן, הגבלות כמות פעמים שאפשר להשתמש במפתח?
ברגע שהבנאדם קונה את המערכת, אתה יוצר לו מפתח לפי הפרמטרים של הרישיון שהוא קנה (לצורך העיניין רק לדומיין אחד ולשנה בלבד). הוא מתקין את המערכת אצלו, מזין את הפרטים, שולח, המערכת שולחת בקשה אלייך לשרת עם הפרטים האלה, אתה עושה בדיקה אם הפתח כבר בשימוש, אם כן תבדוק שהדומיין שווה לדומיין שממנו הוא מנסה להתקין, אם כן תצא מנקודת הנחה שהוא כנראה מתקין מחדש אז תאפשר לו את העיניין הזה. אם המפתח לא בשימוש, תעדכן מאיזה דומיין הוא התקין ואז תשתמש במידע הזה לעתיד. או להפך: אחרי שהוא קונה, בפאנל של המשתמש באתר שלך הוא יכול להגדיר איזה דומיין או דומיינים רשאים להתקין את המערכת.
בקיצור יש פה הרבה כיווני מחשבה, נתתי לך בסיס תזרום משם.
לא עדיף פשוט לתת ללקוח רק גישה לפאנל הניהול של המערכת ולא לאחסון עצמו וגמרנו? בהנחה שאנחנו מוכנים לקחת על עצמנו לטפל באחסון עצמו.
כשהייתי בן 16 - שאלתי את אותה שאלה כמו אצלך. אם אני בונה מערכת, איך אני יכול להצפין אותה שלא יגנבו אותה.
כשהתבגרתי (כיום) בכמה שנים, אני מבין שהכל זה קהל הלקוחות שלך. אם אתה מוכר את המערכות שלך לילדים בני 18+- אז צריך להתעסק בהצפנה וכו', אבל ברגע שאתה מוכר מערכות לקהל קצת יותר מבוגר.. הכל נראה אחרת.